在C语言中如何正确使用结构体的“typedef”? |
您所在的位置:网站首页 › typedef struct studnode › 在C语言中如何正确使用结构体的“typedef”? |
这两个typedef声明之间的区别 typedef struct tnode TNODE; struct tnode { int count; TNODE *left, *right; }; TNODE s, *sp;以及 typedef struct { int a; int b; } ab_t;在第二种情况下,你声明了一个未命名的结构。这意味着在这个结构中你不能引用它自己。例如,你不能写 typede struct { int count; TNODE *left, *right; } TNODE;因为这个成员声明中使用的名称TNODE TNODE *left, *right;尚未申报。但是,如果structure标记具有类似于以下的名称,则可以引用该结构 struct tnode { int count; struct tnode *left, *right; };因为名称struct tnode已经声明。另一个不同之处是,声明指向结构的指针不需要有结构的完整定义,也就是说,你可以写 typedef struct tnode TNODE; TNODE *sp; struct tnode { int count; TNODE *left, *right; };注意,你也可以用下面的方法编写typedef声明 struct tnode { int count; struct tnode *left, *right; } typedef TNODE; |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |